本发明涉及一种从源编码视频流(134)切换到目的编码视频流(108)的方法(300、310),并且涉及一种用于该方法的设备(100)、视频平台(210)以及系统(200)。方法(300、310)包括提供取决于目的流(108)的中间切换流(130),切换流(130)包括连续的多个GOP序列,每个GOP序列包括初始I帧和连续的至少一个P帧。方法(300、310)还包括从源视频流(134)切换到切换流(130)的GOP序列的I帧并接着从切换流(130)切换到目的流(108),以使得能够使用切换流(130)的GOP序列的累积参考对目的流(108)的后续帧进行解码。
1.一种从源编码视频流切换到目的编码视频流的方法,所述方法包括:提供取决于所述目的流的中间切换流,所述切换流包括连续的多个画面组序列,每个画面组序列包括初始I帧和连续的至少一个P帧;从所述源视频流切换到所述切换流的画面组序列的I帧;以及从所述切换流切换到所述目的流,以使得能够使用所述切换流的所述画面组序列的累积参考对所述目的流的后续帧进行解码。
2.根据权利要求1所述的方法,其中,所述切换流的特定画面组序列的连续帧和所述目的流的相应帧具有渐进地减小的漂移误差。
3.根据权利要求1所述的方法,其中,所述切换流的每个画面组序列具有短的周期或持续时间。
4.根据权利要求3所述的方法,其中,所述切换流的每个画面组序列的周期比所述目的流的每个画面组序列的周期,即连续的I帧之间的周期,短至少一个量级。
5.根据前述权利要求中任一项所述的方法,其中,所述切换流的特定画面组序列的初始I帧提供从所述源流到所述切换流的入口点。
6.根据权利要求5所述的方法,所述方法包括:延迟从所述源流到所述切换流的切换,直至检测到所述切换流的画面组序列的I帧,由此直接切换到所述画面组序列的I帧。
7.根据前述权利要求中任一项所述的方法,其中,所述切换流的帧速率与所述目的流的帧速率匹配。
8.根据前述权利要求中任一项所述的方法,其中,所述切换流的每帧具有与所述目的流中的相应帧的比特率匹配的比特率。
9.根据前述权利要求中任一项所述的方法,所述方法包括:将所述切换流的解码帧与所述目的流的相应解码帧进行比较,由此确定两个帧之间的差别是否在预定义的漂移误差阈值以下。
10.根据权利要求9所述的方法,所述方法包括:仅响应于各个流的相应帧之间的差别在所述漂移误差阈值以下,从所述切换流切换到所述目的流。
11.根据前述权利要求中任一项所述的方法,其中,所述切换流的每个画面组序列包括固定数量的帧。
12.根据权利要求1至10中任一项所述的方法,其中,所述切换流的每个画面组序列包括可变数量的帧。
13.根据权利要求12所述的方法,其中,响应于确定所述切换流和所述目的流的相应帧之间的差别在漂移误差阈值以下,触发新的画面组序列以及因此触发新的I帧。
14.一种存储有指令集的机器可读介质,其中,所述指令集当由机器执行时,使得所述机器执行根据权利要求1至13中任一项所述的方法。
15.一种视频编码设备,其包括主编码器,所述主编码器可操作用于接收输入视频流,并且基于所述输入视频流,参考参考帧对目的视频流进行编码,所述视频编码设备还包括:取决于所述主编码器的切换编码器,所述切换编码器接收来自所述主编码器的所述参考帧和所述主编码器针对目的流的每帧而生成的比特数两者作为输入,由此生成包括连续的多个画面组序列的切换流的每个相应帧,其中,每个画面组序列包括初始I帧和连续的至少一个P帧。
16.根据权利要求15所述的设备,其中,所述切换编码器可操作用于使用所述主编码器的所述参考帧作为输入,以对所述切换流的每帧进行编码,其中,所述目的流的特定编码帧的比特数用作针对所述切换流的相应帧的比特率约束。
17.根据权利要求15或权利要求16所述的设备,其中,所述切换编码器另外接收所述输入视频流,即到所述主编码器的输入,作为输入,并且使用所述输入视频流来生成每个画面组序列的I帧。
18.一种包括多个根据权利要求15至17中任一项所述的设备的视频传输平台。
19.根据权利要求18所述的视频传输平台,所述视频传输平台包括:多个设备开关,每个设备开关与特定设备相关联并且可操作用于在该设备的切换流和目的流之间进行切换;以及平台开关,其可操作用于选择来自特定设备的流作为所述视频传输平台的输出。
20.一种用于流送视频的系统,所述系统包括:根据权利要求18或权利要求19所述的视频传输平台;以及至少一个解码器。参考文献[1]“Advancedxa0Videoxa0Codingxa0forxa0Genericxa0Audiovisualxa0Services”ITU-Txa0Recommendationxa0H.264xa0&xa0ISO/IECxa014xa0496-10xa0AVC,2005.[2]M.Karczewiczxa0andxa0R.Kurceren,“Axa0Proposalxa0forxa0SP-f
rames,”ITU-Txa0Videoxa0Codingxa0Expertsxa0Groupxa0Meeting,Eibsee,德国,2001年1月9日至2001年1月12日,Doc.VCEG-L-27.[3]USxa06,765,963,“Videoxa0decoderxa0architecturexa0andxa0methodxa0forxa0usingxa0same,”美国专利,2004年7月.[4]M.Karczewiczxa0andxa0R.Kurceren,“Thexa0SP-andxa0SI-f
ramesxa0Designxa0forxa0H.264/AVC,”IEEExa0Transactionsxa0onxa0Circuitsxa0andxa0Systemsxa0forxa0Videoxa0Technology,Volxa013,No.7,2003年7月,637-644页.[5]W.Zhangxa0andxa0B.Zeng,“Seamlessxa0Bit-Streamxa0Switchingxa0inxa0Multirate-ba
sedxa0Videoxa0Streamingxa0Systems,”EURASIPxa0Journalxa0onxa0Appliedxa0Signalxa0Processing,Volxa02006,文章IDxa049084,1-11页.[6]B.Xiexa0andxa0W.Zeng,“Fastxa0Bitstreamxa0Switchingxa0Algorithmsxa0forxa0Real-Timexa0Adaptivexa0Videoxa0Multicasting,”IEEExa0Transactionsxa0onxa0Multimedia,Volxa09,No.1,2007年1月,169-175页.[7]M.Guo,Y.Lu,F.Wu,D.Zhaoxa0andxa0W.Gao,“Wyner-Zivxa0Switchingxa0Schemexa0forxa0Multiplexa0Bit-Ratexa0Videoxa0Streaming,”IEEExa0Transactionsxa0onxa0Circuitsxa0andxa0Systemsxa0forxa0Videoxa0Technology,Volxa018,No.5,2008年5月,569-581页.
技术领域本发明一般涉及视频的流送,并且特别地,涉及一种从源编码视频流切换到目的编码视频流的方法,并且还涉及一种相关联的设备和系统。
背景技术发明人知道,适合于在具有多个内容通道的服务器/客户端网络环境中进行实时视频广播的当前应用需要客户端在通道和比特率之间无缝地且快速地切换的能力,其中,每个内容通道均具有潜在的多个比特率。使用数字编码的视频流的出现在提供这些质量方面产生了固有的问题。现有的切换解决方案迎合如以下所定义的高比特率条件:其中,每个客户端可用的传输通道平均比特率高于正传输的流的传输通道平均比特率。这些解决方案不能以低比特率提供有保障的快速切换而无需中断客户端处的视频流动。发明人知道,压缩的视频流通常由被划分成画面组(GOP)的连续帧的序列组成。GOP包括与其它的在前帧无关的I帧,随后是一个或多个根据同一组内的周围帧预测的P帧或B帧。为了相同的视觉质量,I帧通常需要超过P帧或B帧所需的比特数三倍的比特数。统计上不相似的流之间的切换(诸如当“通道跳跃”时)或第一次进入流必须发生于I帧上。P帧切换要求在解码器或客户端处的匹配的预测参考。预测参考是在内部存储于编码器的帧并且被要求是对解码器的输出的确切表示。如果切换是在P帧上进行的而没有匹配参考,则由不正确的参考导致的累积失配在解码器处产生视觉假象。这通常被称为漂移误差。发明人还知道利用SI帧或SP帧(S帧)在类似的流之间切换的实践,其中,在类似的流之间,一个流仅是另一个流的不同平均比特率形式,但是来自同一原始视频源。这些SI帧或SP帧(S帧)是两个流之间的桥接帧并且试图对当前流和目的流之间的差别进行编码,以确保严格匹配的预测参考,从而减小漂移误差。然而,这些桥接帧还可产生明显比标准P帧更多的比特,并且此外,要求每个桥接帧均是唯一的S帧。流中的I/S帧的频率确定切换点。换言之,目的通道可以在I帧上被切换或者紧接在接收到S帧之后被切换,以使得后续的P帧具有匹配的内部参考帧。因此,以增大的平均比特率为代价,具有高频率的I/S帧的流具有更多潜在的切换点,这仅在支持高平均比特率的通道中是可容许的。为了本说明书的目的,低比特率流或通道可被定义为具有间隔大约几千帧(时间为分钟)的、仅足以维持P帧并且最好维持一些或低质量的I帧的带宽。这意味着没有自然切换点或自然切换点的数量非常有限。增大I/S帧的频率导致潜在地在低比特率通道中不能维持的比特成本增加,从而引起对在解码器处需要重缓冲的视频服务的中断(不是无缝的)。提供快速、无缝的低比特率服务(其中,从一个流到另一个流的切换时间较短并且是确定的)需要I帧(对于不相似的流)或S帧(对于相似的流)的周期约为小于1s(秒)。因此,对于从一个通道到另一通道的任何切换,中断时期将小于1s(平均为0.5s),直至接收到下一个I帧或S帧,并且随后的P帧具有充分匹配的参考,其中,利用该参考对其解码而没有显著的漂移误差。发明人已确认的问题是,在较短的时间间隔内以任意(低或高)比特率在两个任意(相似的或不相似的)编码视频流之间随机切换,而不会中断帧速率或者引入显著的长期漂移误差。因此,发明人希望克服或至少最小化该问题。H.264国际标准视频编码定义[1]使得用于在相似流之间切换的S帧的概念标准化。这是基于Karczewicz和Kurceren的提议[2,3],并且在学术公开[4]中提出了其设计的说明。如在使用小波变换[5]以减少S帧的比特数时,提出了可替选的S帧设计。这些方法使用单个切换帧,因此,通常导致每个S帧的比特比目的流更多,且不能保证在低比特率环境中进行无缝切换而没有显著的漂移误差。所使用的另一种方法不是以S帧进行切换,而是选择当前帧和目的帧之间的差别低于显著漂移误差的直接切换点[6]。该方法不能保证切换时间在指定界限内。附带信息也可用于估计从流切换以及切换到流两者的参考帧之间的差别,而且还将要求比通道上可用的比特更多的比特[7]。然而,所有这些方法依赖于当前流和目的流的统计相似性,因此,不适合于“通道跳跃”。
发明内容因此,本发明提供了一种从源编码视频流切换到目的编码视频流的方法,该方法包括:提供取决于目的流的中间切换流,该切换流包括连续的多个GOP序列,每个GOP序列包括初始I帧和连续的至少一个P帧;从源视频流切换到切换流的GOP序列的I帧;以及从切换流切换到目的流,以使得能够使用切换流的GOP序列的累积参考来对目的流的后续帧进行解码。换言之,该方法可提供使用(切换流的)中间GOP序列从源流渐进地或逐渐地切换到目的流。因此,切换流的特定GOP序列的初始I帧可提供从源流到切换流的入口点。相应地,切换流的特定GOP序列的连续帧可朝向目的流的相应帧而收敛。收敛意味着,切换流的特定GOP序列的连续帧和目的流的相应帧可具有渐进地减小的漂移误差。切换流可单独地取决于目的流。替代地,切换流可取决于目的流和视频输入两者。切换流的每个GOP序列可具有短的周期或持续时间。短的周期意味着,从源流切换到切换流并且此后到目的流的切换可快速地并且优选地无缝地进行,而不会引入显著的长期漂移误差假象。切换流的每个GOP序列的周期可较短,可选地,比目的流的每个GOP序列的周期(即,连续的I帧之间的周期)短一个或多个量级。每个GOP的周期可小于1s。切换流的特定GOP序列的初始I帧可提供从源流到切换流的入口点。因此,当接收到切换请求时(例如,通过用户改变通道),该方法可包括:延迟从源流到切换流的切换,直至检测到切换流的GOP序列的I帧,由此直接切换到GOP序列的I帧。因此,从源流到目的流的切换延迟可不长于切换流的GOP序列的周期,并且在假设随机的切换请求的情况下,该延迟平均为该周期的一半。因此,如果例如周期是1s,则切换延迟可以是0s和1s之间(取决于相对于特定的GOP序列何时接收到切换请求),并且平均为0.5s。切换流的帧速率可与目的流的帧速率匹配。切换流的每帧可具有与目的流的相应帧或同步帧的比特率匹配的比特率。因此,在切换流和目的流之间帧速率和/或比特率可以没有改变,从而确保当接收切换流和目的流时从解码器或客户端(或其它接收器装置)的角度的无缝流。可使用现有的算法或帧编码技术、根据目的流的相应帧计算或导出切换流的每帧。对切换流中的每帧的编码可受制于比特分配策略,在比特分配策略中,使最大(或平均)失真最小地受制于等于(或小于)目的流的相应帧中的总比特数的总比特约束。该失真可被测量作为切换流的参考和目的流的参考之间的差别。该编码策略可确保漂移误差最小化。该方法可包括:将切换流的解码帧与目的流的相应解码帧进行比较,由此确定两个帧之间的差别是否在预定义的漂移误差阈值以下。在这样的情况下,该方法可包括:仅响应于各个流的相应帧之间的差别在漂移误差阈值以下,从切换流切换到目的流。如果各个流的相应帧之间的差别不在漂移误差阈值以下,则该方法可包括对切换流的连续帧进行流送。切换流的每个GOP序列可包括固定数量的帧或可变数量的帧。如果数量是固定的,则该数量可以是用户可定义的(例如,对于每个GOP序列为10帧)。如果数量是可变的,则可响应于确定切换流和目的流的相应帧之间的差别在漂移误差阈值以下而触发新的GOP序列(并且因此触发新的切换流I帧)。如果数量是固定的,则可根据帧速率确定GOP序列的周期。例如,如果GOP序列固定为10帧并且帧速率为每秒25帧,则周期将为10/25s或者大致为0.4s。该方法可找到在具有低带宽或者仅能够支持低比特率的通信通道中的特定应用,但是该应用不一定必然限于这样的通信通道。源流和目的流可以是独立流(例如,具有完全不同的内容)或可以是相关流(例如,具有相同的内容但是具有不同的帧速率/比特率)。本发明扩展到存储有指令集的机器可读介质,其中,该指令集当由机器执行时,使得该机器执行如上定义的方法。本发明扩展到一种视频编码设备,其包括主编码器,该主编码器可操作用于接收输入视频流,并且基于该输入视频流,参考参考帧对目的视频流进行编码,该视频编码设备还包括:取决于主编码器的切换编码器,该切换编码器接收来自主编码器的参考帧和主编码器针对目的流的每帧而生成的比特数作为输入,由此生成包括连续的多个GOP序列的切换流的各相应帧,每个GOP序列包括初始I帧和连续的至少一个P帧。更具体地,切换编码器可操作用于使用主编码器的参考帧作为输入,以对切换流的每帧进行编码,其中,目的流的特定编码帧的比特数用作针对切换流的相应帧的比特率约束。另外,切换编码器可接收输入视频流(即,到主编码器的输入)作为输入。切换编码器可使用该输入视频流来生成每个GOP序列的I帧。可替选地,如果切换编码器没有接收输入视频流作为输入,则其可使用来自主编码器的参考帧来生成I帧。本发明还扩展到包括多个如上定义的设备的视频传输平台。该视频传输平台可包括:多个设备开关,每个设备开关与特定的设备相关联并且可操作用于在该设备的切换流和目的流之间进行切换;以及平台开关,其可操作用于选择来自特定设备的流作为视频传输平台的输出。本发明还扩展到用于流送视频的系统,该系统包括如上定义的视频传输平台以及至少一个解码器。视频传输平台和解码器可借助于电信网络而互连。
附图说明现在,将参照附图、通过示例进一步描述本发明:在附图中:图1示出了根据本发明的视频编码设备的示意图;图2a示出了包括图1的设备的系统的示意图;图2b和图2c示出了图2a的系统的各个部分;图3示出了根据本发明的方法的高层流程图;图4示出了根据本发明的方法的低层流程图;图5示出了根据本发明的多个视频流的帧的示意图;以及图6示出了计算机系统的示例形式的机器的图示,其中,可在该机器内执行用于使机器执行本文所讨论的任何一个或多个方法的指令集。
具体实施方式首先参照图1,附图标记100一般表示根据本发明的视频编码设备。设备100包括主编码器102,该主编码器被配置成接收视频输入106,并且以常规方式将视频输入106编码成目的编码视频流108。视频输入106可以具有主编码器102被配置成识别的任何适当的格式。以常规方式,主编码器102包括处理器110,该处理器被配置成或编程成指导主编码器102的操作。主编码器102还包括存储模块112(其可以是任何方便的高速存储介质、主存储器等),该存储模块可操作用于至少暂时地将用于对目的流108中的相应帧进行编码的参考帧存储在其上。目的流108包括多个GOP序列,该多个GOP序列通常以参考I帧开始,并且此后包括多个比特率较小的P帧。然而,在该示例中,设备100已被配置用于通过低带宽通道或连接传送视频流。因此,目的流108的帧被配置成具有相对低的比特率,因而,I帧较少并且相距很远,并且它们在目的流108中的特定布置不一定是确定的。根据本发明,设备100还包括切换编码器104,该切换编码器类似地包括处理器120和存储模块122。切换编码器104可操作用于接收至少来自主编码器102的参考帧114和目的流108中的各帧的瞬时比特率的表示116作为输入。然后,在处理器120的指导下,切换编码器104可操作用于生成切换流130,该切换流包括连续的多个具有相对短的周期的GOP序列。切换流130的GOP序列包括初始I帧,随后是多个P帧。尽管特定GOP序列中的帧数量可以是可变的,但是在该示例中,该数量固定为10。设备100被示为包括两个编码器102、104的单个装置。然而,要意识到的是,设备100可以包括多个联网在一起的分立装置。此外,尽管单独地示出主编码器102和切换编码器104,但是如果需要,它们也可以被合并到共享公共处理器的单个模块或单元中。此外,尽管未示出,但是设备100包括存储有计算机程序形式的指令集的机器可读介质。因此,计算机程序指导处理器110、120的操作,这些处理器相应地指导设备100的操作。如上所述,切换编码器的处理器120可操作用于针对切换流130生成两种不同类型的帧,即I帧和P帧。P帧是使用参考帧114和目的流108中的相应帧的比特率而生成的。因此,通过使用目的流108的帧的比特率作为比特率约束,切换流130的帧具有与目的流108的相应帧的比特率匹配的比特率。虽然可以以与上述P帧相同的方式来生成I帧,但是在该示例中,I帧是使用视频输入106本身(而不是主编码器102的参考帧114)和目的流108的相应帧的比特率作为输入而生成的。因此,对于P帧,存储在切换编码器104的存储模块122上的参考帧124将朝向主编码器102的参考帧114而收敛,而对于I帧,将是从视频输入106导出的新参考帧,以得到更好的性能。因此,开关132被配置成每次切换循环将到切换编码器104的输入从参考帧114切换为视频输入106并且再次切换回来,在该示例中,切换循环是每隔第10帧。特定GOP序列内的切换流130的参考帧朝向目的流108的参考帧而收敛。这意味着,解码切换帧和相应的解码目的帧之间的漂移误差从该GOP序列的初始I帧降低到最后的P帧。此外,切换编码器104被配置成使得切换流130的GOP序列的最终P帧和目的流的相应帧之间的漂移误差会在预定义的漂移误差阈值以下。潜在地,根据视频输入的内容,切换流130的GOP序列的一个或多个在前帧和目的流108的相应帧之间的差别也可在漂移误差阈值以下,因此,到目的流108的切换可发生在第10帧之前,而且至少在第10帧。现在参照图2a,系统200包括视频传输平台210,该视频传输平台包括至少一个图1的视频编码器设备100,典型地,包括多个图1的视频编码器设备100。在该示例中,视频传输平台210包括四个视频编码器设备100.1、100.2、100.3、100.4(统称为设备100)。视频编码器设备100.1、100.2具有各自独立的视频通道输入流106,而视频编码器设备100.3、100.4具有同一视频通道输入流106,以生成同一通道的不同比特率形式。视频传输平台210经由电信网络202连接到装有解码器204的至少一个媒体播放器216。该示例中的电信网络202包括因特网,其有时可呈现低的吞吐率。媒体播放器216借助于低带宽通道206(或具有间歇的低带宽吞吐量的高带宽通道)连接到电信网络202,因此,该媒体播放器不能够接收连续的且可靠的高带宽内容。为此,视频传输平台被配置成传送带宽相对低的流。视频传输平台210包括多个开关212、214。设备开关212与每个设备100相关联,并且可操作用于在其相关联的设备100的目的流130和切换流108之间进行切换。单个平台开关214可操作用于选择来自特定设备100的流(目的流108或切换流130)作为视频传输平台210的输出。换言之,平台开关可选择性地操作用于将特定设备100的输出指定为视频传输平台210的主输出。因此,应理解,设备100提供多个目的流,其中,每个目的流可用于选择为视频传输平台210的输出。视频传输平台210可操作用于从任何源接收切换请求,如远程地从媒体播放器216的用户或者在本地从外部控制器。本地切换请求可由电信网络202的测量而触发以表示不同的可用带宽(对于相关流),或者例如,可由迫使切换到广告通道的标签(tag)而触发(对于独立流)。媒体播放器216可操作用于接收来自用户的切换请求,例如,以通道改变请求的形式。因此,以常规方式,用户可借助于媒体播放器216观看一个视频流,并且可在任何时间发送切换请求(即,改变通道),由此观看不同的视频流或频道。媒体播放器216根据本发明不一定需要重新配置或改变以进行使用,而是实际上可完全不在意或独立于设备100和视频传输平台210的配置。一旦媒体播放器216接收到用以观看不同流(即,目的流108)的切换请求,则其就将该切换请求传递到视频传输平台210。现在,在使用中,将首先参照图3、然后参照图4进一步描述本发明。图3示出了根据本发明的方法300的高层流程图。从非常高层的角度,在框302,设备100连续地提供切换流130或使得切换流130可用。响应于切换请求,在框304,设备100切换(或被切换)到切换流130。最终,设备100切换(或被切换)到目的流108。现在参照图4,方法310的低层流程图更详细地描述了本发明,并且还参照图2b和2c并且参照图5,图5示出了多个视频流的帧的示意图。参考设备100和系统200描述方法300、310,但是自然要意识到的是,方法300、310可应用于不同的设备或系统,并且设备100和系统200可被配置成执行不同的方法,如果上下文如此规定。每个设备100连续地生成两种流,即目的流108和切换流130。切换流130是基于目的流108而被连续生成的。如上所述,切换流130包括连续的多个GOP序列。为了产生序列,在框312,切换编码器104确定是否开始新的GOP序列。如果是,则在框314,基于视频输入106和目的流108的相应帧的比特率生成I帧。如果不是,则在框316,基于主编码器102的参考帧114和比特率生成P帧。作为示例,在框318,媒体播放器216忙于从设备100.4接收正被用户观看的源流134。(因此,源流134对应于设备100.4的目的流108。)参照图2a,其中平台开关214连接到设备100.4,并且设备100.4的设备开关212连接到目的流108(即,源流134)。源流134可以是电视频道或流式视频。在某个任意点,用户希望观看不同的流。因此,以常规方式,用户在媒体播放器216提供的用户接口上输入切换请求,例如通过改变通道。媒体播放器216实际上不在意视频传输平台210内的事件。例如,切换请求表示要提供给媒体播放器216的目的流来自设备100.1。因此,视频传输平台210必须从设备100.4提供的流切换到设备100.1提供的流。一旦媒体播放器216在框320接收到切换请求,则将该切换请求传递到视频传输平台210,然后,在框322,该视频传输平台等待到设备100.1的切换流130的适当入口点。必须在新的GOP序列的初始I帧进入切换流130。在该示例中,假定任何GOP序列固定为10帧,则该设备将决不等待长于0.4s(对于帧速率为每秒25帧的流),并且平均将等待0.4s的一半。因此,当在框314生成下一I帧(图5中以I
s(b
n)表示)时,视频传输平台210在框304切换到设备100.1的切换流130,并且开始在框324将切换流130发送到媒体播放器216,以由解码器204进行解码。从解码器204的观点看,其已开始接收新的流并且与该流是切换流或目的流无关。为了实现该切换,设备100.1的设备开关212切换到切换流130,并且平台开关214切换到设备100.1(参照图2b)。视频传输平台210可以被配置成对切换流130的整个GOP序列(全部10帧)进行流送,并且最终切换到目的流108。然而,在该示例中,为了更快地切换到目的流108,视频传输平台210将切换流130的每个解码帧与目的流108的相应解码帧进行比较,以在框326确定漂移误差是否在预定义的漂移误差阈值以下。在图5中,切换流130的帧被示出为收敛于目的流108的帧,其示出了相应帧之间的漂移误差逐步地减小的事实。一旦漂移误差在漂移误差阈值以下(在该示例中,在帧P
s(b
n+7)之后),在框306,视频传输平台210就切换到目的流108,尽管切换流130的GOP序列尚未结束。为了对此进行实现,设备100.1的设备开关212简单地从切换流130切换到目的流108(参照图2c)。如果不存在源流134,则在GOP序列的I帧(I
s(b
n))以前什么也不发送。作为概括,在接收到切换请求之后,播放源流134的帧(P
c(a
n-2)和P
c(a
n-1))的剩余部分,直至检测到第一切换发生的I帧I
s(b
n)。然后,发送切换流130的帧P
s(b
n+1)至P
s(b
n+7),直至漂移误差在漂移误差阈值以下,此时发送从目的流108向前的帧P
d(b
n+8)。此外,应注意,切换流130和目的流108中的相应帧的比特率(以(b
n)来表示)是相同的。因此,当从切换流130切换到最终目的流108时,解码器204不经历比特率的改变。在图5中借助于互连帧的、包括切换路径的箭头来示出“切换路径”。因此,正观看解码器204呈现的视频流的观看者仅经历较短的切换延迟(大约为几十秒),其中,甚至在低比特率漂移误差也较小或感知不到。然后,无限地发送目的流108,直至存在另一切换请求,此时可至少部分地重复该方法。图6示出了计算机系统400的示例形式的机器的图示,可在该机器内执行用于使机器执行本文所讨论的任何一个或多个方法的指令集。在可替选的实施例中,机器作为单独的装置工作或者可连接(例如,联网)到其它机器。在联网配置中,机器可在服务器-客户端网络环境中以服务器或客户端机器的能力工作,或者在对等(或分布式)网络环境中作为对等机器工作。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设施、网络路由器、开关或桥接器、或者能够执行指定该机器要采取的动作的指令集(顺序或其它)的任何机器。此外,虽然示出了单个机器,但是术语“机器”也被认为包括机器的任何集合,其单独地或共同地执行指令集(或多个指令集),以执行本文所讨论的任何一个或多个方法。示例计算机系统400包括处理器402(例如,中央处理单元(CPU)、图形处理单元(GPU)或两者)、主存储器404和静态存储器406,其经由总线408彼此通信。计算机系统400还可包括视频显示单元410(例如,液晶显示器(LCD)、等离子体显示器、或者阴极射线管(CRT))。计算机系统400还包括字母数字输入装置412(例如,键盘)、用户接口(UI)导航装置414(例如,鼠标)、磁盘驱动单元416、信号发生装置418(例如,扬声器)以及网络接口装置420。磁盘驱动单元416包括存储有一个或多个指令集和数据结构(例如,软件424)的机器可读介质422,该一个或多个指令集和数据结构实现本文所描述的任何一个或多个方法或功能或者被其利用。软件424也可在计算机系统400执行该软件期间完全地或至少部分地存在于主存储器404内和/或处理器402内,其中,主存储器404和处理器402也构成了机器可读介质。还可利用多种公知的传输协议(例如,HTTP、RTP、RTSP、FTP)中的任何一种、经由网络接口装置420通过网络426来发送或接收软件424。尽管在示例实施例中机器可读介质422被示出为单个介质,但是术语“机器可读介质”应被认为是包括存储一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库、和/或相关联的高速缓存器和服务器)。术语“机器可读介质”还应被认为是包括如下任何介质:其能够存储、编码或承载用于由机器执行并且使机器执行本实施例的任何一个或多个方法的指令集,或者其能够存储、编码或承载由这样的指令集利用或与这样的指令集相关联的数据结构。因此,术语“机器可读介质”应被认为是包括但不限于固态存储器、光介质和磁介质、以及载波信号。设备100可以是计算机系统400的形式或者可至少包括计算机系统400的一些部件。发明人相信所例示的本发明提供了一种以较小的延迟以及较小或者感知不到的漂移误差从一个视频流切换到另一视频流的方法,该方法可以应用于具有较宽范围的带宽能力的通道,包括低带宽通道。